System and method for recommending users based on shared digital experiences

ABSTRACT

An apparatus includes an interface and a processor. The interface sends and receives data over a network. The processor uses the interface to transmit a first media file to a device of a user. The first media file presents a first choice between at least two options. The processor uses the interface to receive from the user a first selection in response to the first choice. In response to receiving the first selection, the processor transmits a second media file to the device. The second media file presents a second choice between at least two options. The processor uses the interface to receive from the user a second selection in response to the second choice. The processor identifies, based in part on the first selection and the second selection, a second user as potentially compatible with the user and transmits to the user a profile of the second user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation, under 35 U.S.C. § 120 of U.S. patentapplication Ser. No. 16/529,932 filed on Aug. 2, 2019, entitled SYSTEMAND METHOD FOR RECOMMENDING USERS BASED ON SHARED DIGITAL EXPERIENCES.Disclosures of each of the forgoing applications are incorporated hereinby reference in their entirety.

TECHNICAL FIELD

This invention relates generally to the field of communications and,more particularly, to a system and method for recommending users basedon shared digital experiences.

BACKGROUND

Networking architectures, developed in communications environments, havegrown increasingly complex in recent years. A multitude of protocols andconfigurations have been developed to accommodate a diverse group of endusers having various networking needs. Many of these architectures havegained significant notoriety because they can offer the benefits ofautomation, convenience, management, and enhanced consumer selections.Using computing platforms with the networking architectures has allowedfor increased communication, collaboration, and/or interaction. Forexample, certain network protocols may be used to allow an end user toconnect online with other users who satisfy certain search requirements.These protocols may relate to job searches, person finding services,real estate searches, or online dating.

SUMMARY

Networking architectures, developed in communications environments, havegrown increasingly complex in recent years. A multitude of protocols andconfigurations have been developed to accommodate a diverse group of endusers having various networking needs. Many of these architectures havegained significant notoriety because they can offer the benefits ofautomation, convenience, management, and enhanced consumer selections.Using computing platforms with the networking architectures has allowedfor increased communication, collaboration, and/or interaction. Forexample, certain network protocols may be used to allow an end user toconnect online with other users who satisfy certain search requirements.These protocols may relate to job searches, person finding services,real estate searches, or online dating.

In a typical online matching/recommendation system, profiles thatinclude particular sets of attributes related to participants in thesystem may be used to facilitate matching. For example, in the onlinedating context, the profiles might include attributes such as age,education, and interests. A typical online matching/recommendationsystem might provide algorithmic estimates of compatibility scoresbetween pairs of participants by comparing various attributes from eachparticipant's profile. However, such systems typically rely on detailedpersonal information, which many prospective participants may bereluctant to provide to the system. Accordingly, at least someprospective participants might choose to provide false profileinformation, while others might simply elect not to participate in theonline matching/recommendation system. In either instance, theprospective participant may either receive poor compatibility results(based at least in part on the false profile information) or fail toreceive any results at all (based on a failure to participate).Additionally, many users may provide profile information to the systemthat represents an idealized version of themselves that is far from anaccurate representation. Accordingly, those participants who are matchedwith such users may face disappointment when interacting with theseusers in real life.

Another potential problem in the online matching/recommendation arena isinactivity by end users in their respective online communities. When endusers are not being active in reviewing information that they are sent,they can inhibit their own online experiences. Participation is asignificant contributor to online customer satisfaction. Thus, theability to encourage these end users to be involved in a given service,which is fostered by their own contributions, offers a significantchallenge to website/application operators, component manufacturers,service providers, and system designers alike.

This disclosure contemplates a digital experience-based recommendationtool that addresses one or more of the above issues. The digitalexperience-based recommendation tool takes into account a user's choicesmade while participating in a digital event in order to provide the userwith better recommendations of other users that may be compatible withhim/her. During the event, users navigate through a non-linear branchingstory transmitted to their devices. Each branch of the non-linearbranching story may consist of a display (e.g., video) that presents aset of options to a user. The options may be designed to probe certainaspects of the user's personality. For example, a video presenting auser with the option of going sky diving or taking a walk may beprobative of the adventurousness of the user. In certain embodiments,the tool prompts the user to select an option within a brief window oftime, encouraging the user to act on his/her instincts, potentiallyincreasing the likelihood that the user's choice accurately reflectshis/her personality. The tool records the choice selected by the userand transmits additional media to the user based on this choice. Thisprocess repeats as the user navigates through the story. The tool usesthe choices made by a user during the event to provide the user withrecommendations of other users who may be compatible with him/her basedon shared choices made by the users throughout the event. In thismanner, certain embodiments of the tool may connect those users withsimilar personality traits to one another who participated in the event,where the compatibility between the users is determined in part based ontheir shared experiences during the event. Certain embodiments of thedigital experience-based recommendation tool are described below.

According to an embodiment, a method includes transmitting a first mediafile to a device of a first user. The first media file presents a firstchoice between at least two options. The method also includes receivingfrom the first user a first selection in response to the first choice.In response to receiving the first selection from the first user, themethod includes transmitting a second media file to the device of thefirst user. The second media file presents a second choice between atleast two options. The method further includes receiving from the firstuser a second selection in response to the second choice. The methodadditionally includes identifying, based in part on the first selectionand the second selection, a second user as potentially compatible withthe first user. The method also includes transmitting to the first usera profile of the second user.

According to another embodiment, an apparatus includes an interface anda hardware processor. The interface sends and receives data over anetwork. The hardware processor uses the interface to transmit a firstmedia file to a device of a first user. The first media file presents afirst choice between at least two options. The processor further usesthe interface to receive from the first user a first selection inresponse to the first choice. In response to receiving the firstselection from the first user, the processor uses the interface totransmit a second media file to the device of the first user. The secondmedia file presents a second choice between at least two options. Theprocessor additionally uses the interface to receive from the first usera second selection in response to the second choice. The processoradditionally identifies, based in part on the first selection and thesecond selection, a second user as potentially compatible with the firstuser. The processor also uses the interface to transmit to the firstuser a profile of the second user.

According to a further embodiment, a system includes a communicationelement, a storage element, and a processing element. The communicationelement is operable to send and receive data over a network. The storageelement operable to store a set of media files, a set of profiles, and aset of weights. The set of media files includes a first media file and asecond media file. The first media file is configured to present a firstchoice between at least two options. The second media file is configuredto present a second choice between at least two options. The set ofprofiles includes a profile of a first user and a profile of a seconduser. The set of weights includes a first weight and a second weight.The first weight is assigned to the first choice, the second weight isassigned to the second choice. The processing element is operable to usethe communication element to transmit the first media file to a deviceof the first user. The processing element is also operable to use thecommunication element to receive from the first user, within a thresholdperiod of time, a first selection in response to the first choice. Inresponse to receiving the first selection from the first user, theprocessing element is operable to use the communication element totransmit the second media file to the device of the first user. Theprocessing element is further operable to use the communication elementto receive from the first user, within the threshold period of time, asecond selection in response to the second choice. The processingelement is also operable to identify, based in part on the firstselection, the second selection, the first weight, the second weight,the profile of the first user, and the profile of the second user, thesecond user as potentially compatible with the first user. Theprocessing element is additionally operable to use the communicationelement to transmit to the first user the profile of the second user.The processing element is further operable to add information to theprofile of the first user, where the information based in part on thefirst selection and the second selection.

Certain embodiments provide one or more technical advantages. Forexample, an embodiment provides enhanced recommendations based on userpersonality traits revealed through a shared digital experience. Asanother example, an embodiment connects geographically separatedindividuals with similar personality traits. As an additional example,an embodiment enables users to participate in a shared experiencewithout traveling to a physical location. As another example, anembodiment generates profile information for a user based on the choicesmade by the user during the event, rather than relying on the user tomanually enter profile information. As another example, an embodimentmay present recommendations of potentially compatible users to oneanother, where potential compatibility is assessed based on choices madeby the users while participating in a digital event, rather than onpersonal information entered by the users into their user profiles. As afurther example, an embodiment connects users who are active on thenetwork during the event, increasing the likelihood of contact betweenthose users recommended to one another. Certain embodiments may includenone, some, or all of the above technical advantages. One or more othertechnical advantages may be readily apparent to one skilled in the artfrom the figures, descriptions, and claims included herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present disclosure, referenceis now made to the following description, taken in conjunction with theaccompanying drawings, in which:

FIG. 1 illustrates an example system;

FIG. 2 presents an example decision tree, illustrating the non-linear,branching nature of the story generated by the digital experience-basedrecommendation tool of the system of FIG. 1 ;

FIG. 3 illustrates the recommendation engine of the digitalexperience-based recommendation tool of the system of FIG. 1 ;

FIG. 4 presents example stills of videos transmitted by the digitalexperience-based recommendation tool of the system of FIG. 1 ;

FIG. 5 presents a flowchart illustrating the process by which thedigital experience-based recommendation tool of the system of FIG. 1transmits media to users, receives responses from the users, and usesthe responses to generate recommendations for the users of other usersthat are potentially compatible with the users;

FIGS. 6A and 6B presents a flowchart illustrating the branching natureof the story transmitted by the digital experience-based recommendationtool of the system of FIG. 1 ; and

FIG. 7 presents a flowchart illustrating the behavior of the digitalexperience-based recommendation tool of the system of FIG. 1 inembodiments in which a user must submit responses within a thresholdtime period.

DETAILED DESCRIPTION

Embodiments of the present disclosure and its advantages may beunderstood by referring to FIGS. 1 through 7 of the drawings, likenumerals being used for like and corresponding parts of the variousdrawings.

FIG. 1 illustrates an example system 100. As seen in FIG. 1 , system 100includes digital experience-based recommendation tool 105, one or moredevices 115, network 120, and database 125. Generally, digitalexperience-based recommendation tool 105 transmits media files 130 todevices 115, receives responses 170A from devices 115, and generatesrecommendations 175 based on responses 170. This disclosure contemplatesthat media files 130 may include any type of media. For example, mediafiles 130 may include pre-recorded videos, live-streamed video, images,text, audio, virtual or augmented reality simulations, or any otherappropriate form of media. The media files 130 that tool 105 sends to agiven device 115 depend on responses 170 that tool 105 receives fromdevice 115. For example, digital experience-based recommendation tool105 may transmit first media file 130A to both first device 115Abelonging to first user 110A and to second device 115B belonging tosecond user 110B. First media file 130A may present two or more optionsto first user 110A and second user 110B. For example, first media file130A may ask the user to choose between a first option, such asattending a concert, and a second option, such as attending a houseparty. Users 110A and 110B each select an option using their devices115A and 115B and transmit these selected options back to digitalexperience-based recommendation tool 105 as responses 170. For example,first user 110A may select the first option (e.g., concert), whilesecond user 110B may select the second option (e.g., house party). Inresponse to receiving the first option from first user 110A, digitalexperience-based recommendation tool 105 may transmit second media file130B to first device 115A, while digital experience-based recommendationtool 105 may transmit third media file 130C to second device 115B, thirdmedia file 130C different from second media file 130B, in response toreceiving the second option from second user 110B. For example, if thefirst option corresponds to attending a concert, second media file 130Bmay display video of attendees walking into the concert venue andpresent first user 110A with a choice between joining a first line or asecond line. Similarly, if the second option corresponds to attending ahouse party, third media file 130C may display video of the userapproaching the front door of the house and present second user 110Bwith a choice between ringing the doorbell or opening the door andheading right in. In this manner, digital experience-basedrecommendation tool 105 enables users 110A through 110C to navigatethrough a non-linear branching story, where the path a given user 110takes through the story depends on the responses 170 to the optionspresented by media files 165 that user 110 provides to the tool.

Digital experience-based recommendation tool 105 receives a series ofresponses 170 from each participating user 110A through 110C. At one ormore times during the story, digital experience-based recommendationtool 105 may compare these sets of responses 170 to determine potentialcompatibility among users. For example, digital experience-basedrecommendation tool 105 may compare responses 170A provided by firstuser 110A to responses 170B provided by second user 110B and responses170C provided by third user 110C, to determine that second user 110B maybe more compatible to first user 110A than third user 110C and,accordingly, may be a potential match to first user 110A and not tothird user 110C. In response to determining that second user 110B may bea potential match to first user 110A, digital experience-basedrecommendation tool 105 may transmit profile 135B assigned to seconduser 110B to first user 110A, as recommendation 175.

This disclosure contemplates that digital experience-basedrecommendation tool 105 may compare the set of responses 170 provided byeach user at any time during the story. For example, in certainembodiments, digital experience-based recommendation tool 105 maycompare the set of responses 170 provided by user 110A to the set ofresponses 170 provided by other users 110 after user 110A has reachedthe end of the story.

This disclosure contemplates that recommendations 175 may be basedsolely on responses 170 provided by users 110A through 110C.Alternatively, this disclosure also contemplates that responses 170 maybe used as a factor of a set of factors considered in a largerrecommendation algorithm. For example, in certain embodiments, users110A through 110C may submit information about themselves as well aspreferred characteristics of other users with whom they are seeking tobe matched using tool 105. Such information may include gender,preferred gender of a potential match, height, weight, age, location,ethnicity, birthplace, eating habits, activities, and goals.Additionally, users 110A through 110C may provide tool 105 withinformation indicating how important certain factors are when lookingfor a match. For example, users 110A through 110C may indicate whichcharacteristics in a potential match are a necessity. As anotherexample, tool 105 may ask users 110 to indicate, “How important is itthat your match does not smoke?” Tool 105 may also allow users 110 toindicate that certain characteristics are not important search criteria.For example, user 110A may indicate to tool 105 that the weight and/orheight of a potential match is not important. In certain embodiments,tool 105 may prompt users 110A through 110C to provide information tothe tool. For example, tool 105 may require users 110 to answer a numberof questions or provide a number of descriptions, prior to enabling theusers to participate in the recommendation system. Tool 105 may beconfigured to receive the information submitted by users 110A through110C and to create profiles 135A through 135C for users 110A through110C based on that information. In addition to using informationprovided by a user 110A to create profile 135A, digital experience-basedrecommendation tool 105 may also use responses 170 to add additionalinformation to the user's profile. For example, tool 105 may useresponses 170 to determine that a user 110A is more likely to choose anadventurous option when presented with a choice between the adventurousoption and a cautious/unadventurous option. Accordingly, tool 105 mayadd an adventurous attribute to the user's profile. This disclosurecontemplates that such attributes may be binary (i.e., simply indicatingthat the user has the attribute), or may be associated with a scoreindicating the degree to which the attribute may be present in theuser's personality. For example, a user 110A may be highly adventurous,moderately adventurous, or somewhat adventurous. This disclosurecontemplates that digital experience-based recommendation tool may addany number of attributes to a user's profile 135A based on responses 170provided by user 110A while participating in a digital event.

In certain embodiments, digital experience-based recommendation tool 105may be configured to search through information contained in profiles135 (including attributes obtained from responses 170) to determinerecommendations 175. Techniques for determining relevant recommendationsfor users may include determining how closely one user's preferencesmatch another user's characteristics/attributes and vice versa. In someembodiments, tool 105 may be configured to generate a pool ofrecommendations 175 for user 110A according to variouscharacteristics/attributes and preferences of user 110A and of otherusers of the system. Tool 105 may assign scores to the pool ofrecommendations for user 110A based on preferences and/or activity ofuser 110A. Tool 105 may also restrict entities from being included inthe pool of recommendations based on the status of the profile, locationinformation regarding the entity, or location information regarding user110A. In this manner, certain embodiments of tool 105 may provide arecommendation 175 of user 110B to user 110A based on both the sharedexperiences of users 110A and 110B while participating in a digitalevent, as well as information provided by users 110A and 110B whensetting up profiles 135A and 135B.

Devices 115 are used by users 110 to receive and display media files 130from digital experience-based recommendation tool 105 and to sendresponse 170 back to digital experience-based recommendation tool 105.In certain embodiments, devices 115 may communicate with digitalexperience-based recommendation tool 105 through network 120 via a webinterface.

Devices 115 include any appropriate device for communicating withcomponents of system 100 over network 120. For example, device 115 maybe or may be accompanied by a telephone, a mobile phone, a computer, alaptop, a tablet, a server, an automated assistant, and/or a virtualreality or augmented reality headset or sensor, or other device. Thisdisclosure contemplates device 115 being any appropriate device forsending and receiving communications over network 120. As an example,and not by way of limitation, device 115 may be a computer, a laptop, awireless or cellular telephone, an electronic notebook, a personaldigital assistant, a tablet, or any other device capable of receiving,processing, storing, and/or communicating information with othercomponents of system 100. Device 115 may also include a user interface,such as a display, a microphone, keypad, or other appropriate terminalequipment usable by user 110. In some embodiments, an applicationexecuted by device 115 may perform the functions described herein.

Network 120 facilitates communication between and amongst the variouscomponents of system 100. This disclosure contemplates network 120 beingany suitable network operable to facilitate communication between thecomponents of system 100. Network 120 may include any interconnectingsystem capable of transmitting audio, video, signals, data, messages, orany combination of the preceding. Network 120 may include all or aportion of a public switched telephone network (PSTN), a public orprivate data network, a local area network (LAN), a metropolitan areanetwork (MAN), a wide area network (WAN), a local, regional, or globalcommunication or computer network, such as the Internet, a wireline orwireless network, an enterprise intranet, or any other suitablecommunication link, including combinations thereof, operable tofacilitate communication between the components.

Database 125 stores media 130 and a set of user profiles 135. Media 130contains media comprising the non-linear branching story transmitted bydigital experience-based recommendation tool 105 to users 110. Eachmedia file 130A through 130N of set of media 130 corresponds to adifferent branch of the non-linear branching story. Users 110 navigatethrough the story by choosing between various options presented by mediafiles 130A through 130N. This disclosure contemplates that media files130 may include any type of media. For example, media files 130 mayinclude pre-recorded videos, live-streamed video, images, text, audio,virtual or augmented reality simulations, or any other appropriate formof media.

This disclosure contemplates that media files 130A through 130N maypresent options to users 110 in any suitable fashion. For example, incertain embodiments, media files 130A through 130N may present optionsto users 110 by displaying text on the screens of user devices 115. Insome embodiments, media files 130A through 130N may present the optionsto users 110 by playing audio through the speaker systems of userdevices 115. In certain embodiments, media files 130 may present audioand/or video to users and then followed by a display that presentsoptions to users.

This disclosure contemplates that user 110 may interact with one or moremedia files of set of media 130 in any manner suitable to transmithis/her selection of a given option back to digital experience-basedrecommendation tool 105. As an example, user 110 may select one of aplurality of options by gesturing on the screen of his/her device 115 ina specified direction. For example, user 110 may select a first optionby making a dragging gesture on the screen of his/her device 115 fromthe right side of the screen towards the left side of the screen or user110 may select a second option by making a dragging gesture on thescreen of his/her device 115 from the left side of the screen towardsthe right side of the screen. As another example, in certainembodiments, user 110 may select an option by entering a value using akeypad of device 115, or a keypad displayed on the screen of device 115.For example, user 110 may select between four options labelled A, B, C,and D, by entering one of A, B, C, or D into the keypad. As a furtherexample, in certain embodiments, user 110 may select an option bytapping the screen of device 115. For example, user 110 may select aspeed at which to virtually run from a first location to a secondlocation by tapping the screen of device 115 a given number of times,with each tap increasing the current speed.

This disclosure contemplates that media 130 stored in database 125 maypresent a non-linear branching story to users 110 in any suitableformat. For example, in certain embodiments, media 130 may provide users110 with first-person point of view action videos. In certainembodiments, media 130 may provide users 110 with augmented realityexperiences, by accessing the external facing cameras of devices 115 anddisplaying computer-generated graphics on the real-world surroundings ofusers 110. In further embodiments, media 130 may correspond tocomputer-generated, 3D simulations, with which users 110 interact byusing specific hardware, such as virtual reality headsets and/or sensors115.

In certain embodiments, database 125 may store customizable media 130,which digital experience-based recommendation tool 105 may customize fora given user 110 before transmitting the media to user 110. As anexample, in certain such embodiments, digital experience-basedrecommendation tool 105 may customize a media file 130A for user 110A byplacing the user's face into media file 130A, using a profile photo ofuser 110A stored in profile 135A assigned to user 110A. For example,media file 130A may be a first-person point of view video that includesa sequence in which user 110A looks into a mirror. Accordingly, digitalexperience-based recommendation tool 105 may use the profile photo ofuser 110A to generate an image of user 110A to display in the mirror. Asanother example, in certain such embodiments, digital experience-basedrecommendation tool 105 may customize a given media file 130A for user110A by placing information from the user's profile 135A into theoptions presented by media file 130A. For example, media file 130A maypresent user 110A with a choice to attend a sporting event at his/heralma matter or a sporting event at a rival school, based on theeducation information user 110A has included in his/her profile 135A.Similarly, media file 130A may present user 110A with a choice to listento one of several songs, where the song choices presented are songs thatuser 110A has linked to and/or included in his/her profile 135A. Asanother example, in certain embodiments, digital experience-basedrecommendation tool 105 may customize the options presented by mediafiles 130 to user 110A, based on personality attributes of user 110Athat the tool has previously determined. For example, digitalexperience-based recommendation tool 105 may determine that user 110A isextroverted, based on previous responses 170A provided by user 110A.Accordingly, digital experience-based recommendation tool 105 maycustomize media 130 to include a greater percentage of options that areassociated with extroverted personality types, rather than introvertedpersonality types. For example, when probing the user'sintroversion/extroversion personality traits, rather than presentinguser 110A with equal numbers of extroverted choices and introvertedchoices, digital experience-based recommendation tool 105 may presentuser 110A with predominantly extroverted choices (e.g., a mix of 80%extroverted choices and 20% introverted choices). This may be desirableto keep user 110A interested in the digital event and/or to fine tunethe user's extroversion score. As a further example, in certainembodiments, digital experience-based recommendation tool 105 maycustomize media 130 to present certain options only to a portion ofusers 110. For example, digital experience-based recommendation tool 105may add options to media 130 associated with exclusive branches in thenon-linear branching story. These exclusive options may be available tousers 110 who have participated in at least a threshold number ofprevious digital events, and/or to users who have paid for access toexclusive media, or the opportunity to view and match with exclusiveuser profiles.

In certain embodiments, database 125 may store a single first media file130A, such that each of users 110A through 110C, participating in thenon-linear branching story, receives the same first media file 130A atthe start of the digital event. In certain embodiments, database 125 maystore multiple first media files 130A, such that users 110A through 110Cmay each receive different first media files 130A at the start of thedigital event. For example, in certain embodiments, the first mediafiles 130A that user 110 receives may depend on the last media file 130Nthat user 110 received in a previous story or event that user 110participated in. This may be desirable to provide continuity amongdifferent stories/events, which may help encourage users 110 toparticipate in future events.

This disclosure contemplates that database 125 stores media 130associated with a branching story that is non-linear, such that for agiven story containing a series of N binary decisions, database 125stores fewer than 2^(N) final media files 130. For example, in certainembodiments, database 125 may store fewer than ten final media files130. This may be desirable, to help ensure that a large number of users110 experience the same ending for the branching story, such thatgenerating recommendations among users 110 may be based in part on theendings that users 110 experience. For example, in certain embodiments,digital experience-based recommendation tool 105 may recommend onlythose users who experience the same ending to one another, while in someembodiments, the endings that users 110 experience may be a factorconsidered by the recommendation algorithm of digital experience-basedrecommendation tool 105. The non-linear nature of the branching story isdescribed in further detail below, in the discussion of FIG. 2 .

As mentioned above, database 125 additionally stores a set of userprofiles 135. User profiles 135 define or represent features of users110. Profiles 135 may be available to the general public, to those thatare members of the online dating system, and/or to a specific categoryof those members of the online dating system. Profiles 135 may containinformation that was solicited from users 110 when users 110 set uptheir online dating accounts or was otherwise input by such users intotheir profiles. Profiles 135 may include general information such asage, height, gender, and occupation, as well as detailed informationthat may include the users' interests, likes/dislikes, personalfeelings, and/or outlooks on the world.

In certain embodiments, profiles 135 may include information provided byusers 110 as well as information automatically generated by digitalexperience-based recommendation tool 105 based on responses 170 providedby users 110 to tool 105. For example, in certain embodiments, digitalexperience-based recommendation tool 105 may group each of the optionspresented by media files 130 into a set of personality categories,assign scores to each of the options within a personality category, anduse responses 170 to assign scores to users 110 in each of thepersonality categories. Digital experience-based recommendation tool 105may then display these scores on profiles 135. As an example, in certainsuch embodiments, digital experience-based recommendation tool 105 maygroup the options presented by media 130 into personality categoriesincluding extroversion, adventurousness, risk tolerance, andspontaneity. For example, a response 170 containing a choice to attend aparty rather than staying home may increase a user's extroversion score,and a response 170 containing a decision to get a tattoo rather thanattend a concert may increase a user's risk tolerance and spontaneityscores. This disclosure contemplates that multiple decisions made by auser while participating in a digital event may contribute to the samepersonality category. For example, in addition to the choice betweenattending a party or staying home, a decision between going backstageand meeting the lead singer of a band, or staying in the generalaudience of a concert may also impact a user's extroversion score.Additionally, this disclosure contemplates that decisions contributingto a given personality category need not occur in the same digitalevent. For example, during a first digital event, a user may choose toattend the party rather than stay home, thereby increasing the user'sextroversion score. This user may choose to go backstage and meet thelead singer of the band rather than stay in the general audience of theconcert during a second digital event, thereby increasing the user'sextroversion score. Determining personality trait scores based onresponses 170 and displaying these scores as part of a user's profile135 may be desirable, as determining a user's personality traits basedon decisions he/she makes during a digital experience may lead to a moreaccurate representation of the user's personality than relying on theuser's own input. This may be especially true in situations in whichuser 110 may otherwise provide false or idealized information if askedto fill out the profile information himself/herself. Additionally, users110 may be more willing to provide profile information by participatingin a digital event than by answering questions and/or filling in fields.

As seen in FIG. 1 , digital experience-based recommendation tool 105includes processor 140, memory 145, and interface 150. This disclosurecontemplates processor 140, memory 145, and interface 150 beingconfigured to perform any of the functions of digital experience-basedrecommendation tool 105 described herein. Generally, digitalexperience-based recommendation tool 105 implements response analyzer155 and recommendation engine 160.

Response analyzer 155 receives responses 170A from users 110, storesresponses 170A in memory 145 as a set of responses 170 for each user110, and uses responses 170A to determine which media files of media 130to send to users 110. At the start of a digital event, response analyzer155 may direct interface 150 to transmit first media file 130A to users110, through processor 140. In certain embodiments, first media file130A is the same for each user 110. In some embodiments, media 130 maycontain multiple first media files 130A, such that response analyzer 155may direct interface 150 to transmit different first media files 130A toeach of users 110A through 110C at the start of the digital event. Forexample, in certain embodiments, first media file 130A that user 110Areceives may depend on last media file 130N that user 110A receivedduring a previous digital event. Transmitting first media file 130A thatdepends on last media file 130N that user 110 received during a previousevent may be desirable to provide continuity among different digitalstories/events, which may help encourage users 110 to participate infuture events.

In certain embodiments, prior to directing interface 150 to transmit agiven media file or set of media 130 to user 110, response analyzer 155may first determine whether the current time is within a time intervalspecified for the digital event. For example, in certain embodiments,the digital event is a live event of a specified duration in time, suchthat users 110 may only participate in the digital event during thatspecified time. In some embodiments, users 110 may participate in thedigital event on-demand, such that response analyzer 155 may directinterface 150 to transmit a given media file of set of media 130 to user110 at any time. In some embodiments, users 110 may participate in thedigital event on-demand, but only at limited, pre-identified times. Forexample, a recorded version of an originally live-streamed digital eventmay be offered at a specified time or times, due to the popularity ofthe original, live-streamed version of the event.

Each media file of set of media 130 may be configured to present a setof options to users 110 to enable users 110 to navigate through thenon-linear branching story comprising the digital event. Accordingly,after directing interface 150 to transmit first media file 130A to user110A, response analyzer 155 may receive response 170A, containing achoice made by user 110A of one of the options of the set of optionspresented to user 110A by first media file 130A. In response toreceiving response 170A, response analyzer 155 saves response 170A toset of responses 170 stored in memory 145 and determines second mediafile 130B to transmit to user 110A, based on response 170A. To determinesecond media file 130B to transmit to user 110A, response analyzer 155consults a decision tree stored in memory 145, database 125, or anyother suitable location. For a given media file 130A of set of media130, the decision tree associates each option of the set of optionspresented by media file 130A with a further media file of set of media130. For example, if media file 130A presents user 110 with an option Aand an option B, the decision tree may associate option A with secondmedia 130B and option B with third media file 130C. While this exampleconsidered a pair of options—option A and option B—this disclosurecontemplates that each media file may present user 110 with any numberof options, including options such as “skip,” “no choice,” or any otheroption indicating that user 110 does not have a preference. In responseto receiving response 170A from user 110A, response analyzer firstanalyzes response 170A to determine the option chosen by user 110A andthen determines media file 130B associated with this option, using thedecision tree. Response analyzer 155 then instructs processor 140 todirect interface 150 to transmit media file 130B to user 110A. Thisprocess repeats until response analyzer 155 instructs processor 140 todirect interface 150 to transmit final media file 130N, associated withthe end of the digital event, to user 110A. An example decision treealong with a detailed discussion of the use of the decision tree byresponse analyzer 155 is presented below, in the discussion of FIG. 2 .

In certain embodiments, response analyzer 155 may receive response 170Afrom user 110 only if response 170A is transmitted to interface 150within a threshold period of time. For example, in certain embodiments,users 110 may only have a set time interval during which to select anoption of a set of options presented to them by media file 130. Forexample, in certain such embodiments, users 110 may have seven secondsduring which to select an option of a set of options presented to themby media file 130. In certain embodiments, if user 110A does not selectan option of a set of options presented to him/her by media file 130within the threshold time period, response analyzer 155 may select oneof these options and direct interface 150, through processor 140, totransmit media file 130 associated with the selected option to user110A. In some embodiments, response analyzer 155 may also select anoption of the set of possible options other than “skip,” “no choice,” orany other no preference option, when the set of options contains “skip,”“no choice,” or any other no preference options, and the user selectsone of the “skip,” “no choice,” or other options indicating that theuser does not have a preference. In certain embodiments, responseanalyzer 155 may store the selected option in memory 145 along with aweight of zero, indicating to recommendation engine 160 that thisselected option should not be taken into account in matching user 110Ato other users 110. This disclosure contemplates that response analyzer155 may select one of the options in any suitable manner. For example,in certain embodiments, response analyzer 155 may be configured to 1)randomly select one of the options from the set of possible options; 2)select a pre-determined option; 3) select the first option of the set ofpossible options; 4) select the most popular option of the set ofpossible options, as determined from responses 170 provided by otherusers; 5) select an option of the set of possible options based ondetermined or supplied personality traits of the user, e.g., anadventurous option from the set of possible options for user 110A, basedon a determination from previous responses 170 supplied by user 110Athat user 110A is adventurous, or an extroverted option from the set ofpossible options for user 110A, based on user 110A indicating thathe/she is extroverted in information (other than responses 170) suppliedby user 110A to generate his/her profile 135A; or 6) use any otherfactor to select among the available options. Encouraging user 110A toselect an option within a brief interval of time may be desirable tospur the user to act on his/her instincts rather than overthinking thevarious options, potentially increasing the likelihood that the user'schoice accurately reflects his/her personality traits.

In certain embodiments, response analyzer 155 may determine which mediafiles 130 to send to a user 110A based not only on responses 170Areceived from user 110A, but also on responses 170B through 170Creceived from other users 110B through 110C. For example, in certainembodiments, the digital event may be a live-streamed event, whichpresents users with a set of options from which the users may vote fortheir favorites. As an example, the digital event may be a live singingcompetition where users 110 are able to vote for their favoritecontestants. In such embodiments, response analyzer 155 may determinethe most popular choice from responses 170 and determine a single mediafile 130 to send to all participating users 110 based on the mostpopular choice. For example, first media file 130A may consist of afirst round of a singing competition that asks users 110 to choose afavorite from three contestants. Even if user 110A selects the secondcontestant as his/her favorite, user 110A may nevertheless receive asecond media file 130B consisting of a second round of the singingcompetition in which the second contestant has been eliminated, based onthe second contestant receiving the fewest votes, as determined fromresponses 170. Nevertheless, while not impacting the media files 130that user 110A receives, user 110A's choice may be used by digitalexperience-based recommendation to generate recommendations ofpotentially compatible users for user 110A. For example, user 110A mayreceive recommendations 175 of other users who also chose the secondcontestant as their favorite.

Response analyzer 155 may be a software module stored in memory 145 andexecuted by processor 140. An example algorithm for response analyzer155 is as follows: set the current media file to first media file 130A;while the current media file is not the final media file 130N: {instructinterface 150 to transmit the current media file to user 110A; receiveresponse 170A from user 110A through interface 150 containing a choiceof a set of choices presented by the current media file; save the choiceto the set of responses 170 stored in memory 145; locate the choice inthe decision tree; determine a media file 130B assigned to the choice;set the current media file to media file 130B}; instruct interface 150to transmit final media file 130N to user 110A.

As described above, digital experience-based recommendation tool 105additionally includes recommendation engine 160. Recommendation engine160 generates recommendations 175 between users 110 participating in thedigital event. For a given user 110A, recommendations 175 may includethose users 110 determined by recommendation engine 160 to likely becompatible with user 110A. This disclosure contemplates thatrecommendation engine 160 may determine compatibility between users 110based at least in part on the choices made by users 110 (and stored inresponse analyzer 155 in the set of responses 170) as they navigatethrough the non-linear branching story presented during the digitalevent. For example, in certain embodiments, recommendation engine 160determines that first user 110A is compatible with second user 110B,based on the fact that both first user 110A and second user 110B madechoices during the digital event that led them to the same final mediafile 130N. In such embodiments, recommendation engine 160 may presentall those users who received the same final media file 130N as firstuser 110A as recommendations 175 to user 110A.

In certain embodiments, for each subject user 110A through 110C,recommendation engine 160 may determine a ranked list of other users 110that are potentially compatible with the subject user, whererecommendation engine 160 presents users 110 according to the number ofchoices they made that were the same as the choices made by subject user110A during the event. For example, recommendation engine 160 maydetermine a ranked list for first user 110A containing second user 110Branked higher than third user 110C, based on the fact that second user110B made three choices that were the same as choices made by first user110A, while third user 110C only made one choice that was the same as achoice made by first user 110A. In certain such embodiments, digitalexperience-based recommendation tool 105 may assign weights to each setof options presented to users 110, such that certain choices are weighedmore heavily than others. For example, second user 110B may have madethree choices that were the same as choices made by first user 110A,where such choices included: (1) opening a door on the left rather thana door on the right; (2) playing a game of darts rather than a game ofpool; and (3) traveling east rather than traveling west. As thesechoices may not be highly probative of a user's personality traits,digital experience-based recommendation tool 105 may assign smallerweights to them than other choices. On the other hand, third user 110Cmay have made one choice that was the same as a choice made by firstuser 110A, where the choice consisted of a decision to go sky divingrather than to watch a movie. As this decision may be highly probativeof a user's adventurousness, digital experience-based recommendationtool 105 may assign a large weight to it. Accordingly, recommendationengine 160 may rank third user 110C as likely more compatible thansecond user 110B based on the large weight assigned to the one decisionin common between first user 110A and third user 110C, despite the factthat third user 110C and first user 110A only had this one decision incommon, while second user 110B and first user 110A had three decisionsin common.

In certain embodiments, rather than determining the number of choices agiven user 110A has in common with the other users 110B and 110C,recommendation engine 155 may assign a set of scores to each user 110,based on the decisions that the user made during the digital event.Recommendation engine 155 may then recommend users to one another basedon the similarity of their scores. The set of scores may include scorescovering a range of different personality categories. For example, theset of scores may include an extroversion score, an adventurousnessscore, a risk tolerance score, and a spontaneity score. In suchembodiments, recommendation engine 160 may group each set of optionspresented by media files 130 into one or more personality categories andassign a score to each option within a given category. For example, aset of options that includes a choice between staying home or attendinga party may be assigned to an extroversion category, with a score of −50assigned to the decision to stay home and a score of +50 assigned to thedecision to attend the party. This disclosure contemplates that multipledecisions made by a user while participating in a digital event maycontribute to the same personality category. For example, in addition tothe choice between attending a party or staying home, a decision betweengoing backstage and meeting the lead singer of a band or staying in thegeneral audience of a concert may also impact a user's extroversionscore. Here, the decision to go backstage may be assigned a score of+20, while a decision to stay in the general audience may be assigned ascore of −10. Additionally, this disclosure contemplates that decisionscontributing to a given personality category need not occur in the samedigital event. For example, during a first digital event, a user maychoose to attend the party rather than stay home, thereby increasing theuser's extroversion score. This user may also choose to go backstage andmeet the lead singer of the band rather than stay in the generalaudience of the concert during a second digital event, thereby furtherincreasing the user's extroversion score.

Recommendation engine 160 may determine a set of scores for user 110A bydetermining the scores assigned to each of the options chosen by user110A and summing the scores within each personality category. Forexample, recommendation engine 160 may determine the following sets ofscores for users 110A through 110C, where a positive score indicates thepresence of the given personality trait and a negative score indicatesthe presence of the opposite personality trait:

Extroversion Adventurousness Risk Tolerance Spontaneity User 110A 100200 50 −50 User 110B −20 −20 −100 −10 User 110C 50 300 50 0These scores indicate a higher probability that users 110A and 110C areextroverted, highly adventurous, and risk tolerant, in contrast tosecond user 110B who has a higher probability of being introverted,timid, and risk avoidant. Accordingly, based on a direct comparison ofthese sets of scores, recommendation engine 160 may determine that thirduser 110C is likely more compatible with first user 110A than withsecond user 110B. In certain embodiments, rather than directly comparingpersonality trait scores across users 110A through 110C, recommendationengine 160 may employ a machine-learning algorithm trained to generateranked lists of compatible users 110 based on attributes that mayinclude the users' personality trait scores.

This disclosure contemplates that recommendation engine 160 may considerany number of factors, in addition to the responses 170 received fromusers 110, to determine matches 175 among the users 110 and to rankthese matches. As an example, in embodiments in which recommendationengine 160 employs a machine-learning algorithm trained to generateranked lists of compatible users 110 based on attributes that includethe users' personality trait scores, the machine-learning algorithm mayoperate on additional attributes obtained from profiles 135 in a mannersimilar to the systems described in, for example, U.S. Pat. No.9,733,811, the entire disclosure of which, except for any definitions,disclaimers, disavowals, and inconsistencies, is incorporated herein byreference. In such embodiments, the personality trait scores determinedby tool 105 may be placed in a user's profile 135, such that amachine-learning algorithm configured to extract and operate onattributes obtained from profiles 135 may easily incorporate theadditional attributes associated with the personality trait scoresplaced into profiles 135. As another example, in certain embodiments,recommendation engine 160 may determine recommendations based oninformation contained in profiles 135 and then rank theserecommendations (and/or select a subset of these recommendations), basedon the similarity of the choices made by the users during the digitalevent. As another example, in certain embodiments, recommendation engine160 may consider the ages, genders, and locations of users 110 indetermining recommendations 175. For example, recommendation engine 160may provide user 110A with recommendations 175 that correspond to users110 that fall within the age, gender, and/or location ranges specifiedby user 110A. As another example, in certain embodiments in which therecommendations 175 generated for user 110A consist of a ranked list ofpotentially compatible users, recommendation engine 160 may prioritizeuser 110B who has previously viewed profile 135A belonging to user 135A,by increasing the ranking of user 110B within user 110A's ranked list.This may be desirable as previous profile views may indicate that user110B has an interest in user 110A and may therefore be likely to matchwith user 110A, when presented with a recommendation of user 110A. As afurther example, in certain embodiments in which the recommendations 175generated for user 110A consist of a ranked list of potentiallycompatible users, recommendation engine 160 may prioritize user 110Bwithin the ranked list, based on the number of previous digital eventsuser 110B has participated in. For example, recommendation engine 160may increase the ranking of user 110B who is participating in his/herfirst digital event. This may be desirable to help ensure that users 110who frequently participate in digital events have the opportunity tomatch with new users, rather than continually receiving recommendationsof the same set of users.

In certain embodiments, recommendations 175 generated by recommendationengine 160 for user 110A may be available to user 110A throughout theduration of the digital event, but may be unavailable after the digitalevent has ended. For example, in certain embodiments, a digital eventmay last until midnight, after which user 110A is no longer able tomatch with other users who shared the same digital experiences as user110A during the event. This may be desirable to help ensure that thoseusers 110 provided with recommendations of user 110A are active on thesystem at or around the time of the recommendation, helping tofacilitate communication between those users and user 110A.Additionally, in some embodiments, the number of recommendationspresented to a user 110A may continue to increase over the duration ofthe digital event. For example, a digital event may last from 6 PM to 12PM on a specified date. User 110A may complete the digital event at 7:00PM, receiving recommendations 175 consisting of other users 110 who havesimilarly completed the digital event at or before 7:00 PM. As theevening progresses, user 110A may receive additional recommendations 175as more users 110 complete the digital event, up until the end of thedigital event, at 12 PM. For example, at the time user 110A completesthe digital event, responses 175 may only contain 20 recommendations ofpotentially compatible users; however, by the end of the digital event,responses 175 may contain 300 recommendations of potentially compatibleusers. In certain embodiments, recommendations 175 generated byrecommendation engine 160 for user 110A may be continually available touser 110A even after the digital event has ended.

In certain embodiments, recommendations 175 generated by recommendationengine 160 may include user profiles 135. In some embodiments,recommendations 175 may include portions of user profiles 135, such asprofile pictures, may be purely textual representations of userprofiles, or may include images, i.e., graphical representations of userprofiles. In further embodiments, recommendations 175 may includeavatars generated by users 110, rather than photographs in user profiles135. In such embodiments, user 110A may be able to see a photograph inuser profile 135B (rather than an avatar) of the user only if both user110A and user 110B choose to match with each other. The use of avatarsmay be desirable for users 110A wishing to maintain anonymity. The useof avatars may also be desirable as it may help to encourage users 110to select matches 175 based on personality traits rather than personalappearance, potentially leading to more meaningful matches. In someembodiments, users 110 may select certain customizations for theirprofiles and/or avatars. For example, users 110 may select certainskins, badges, avatars, accessories, or any other customizations thatare shown in the digital experience. In some embodiments, users 110 mayprovide payment for these customizations.

In certain embodiments, recommendations 175 generated by recommendationengine 160 for user 110A may be available to user 110A only after user110A has completed the non-linear branching story presented during thedigital event. In some embodiments, certain recommendations 175 may bepresented to user 110A throughout the non-linear branching story. As anexample, in certain embodiments, certain branches of the non-linearbranching story may provide for participation by more than one user,such that users 110 who have navigated along the same path in thenon-linear branching story as user 110A may be presented to user 110A.For example, after choosing to open a door, media file 130 may informuser 110A that he/she is now in a room with users 110B and 110C and mustcooperate with users 110B and 110C to determine a way out of the room.In such embodiments, digital experience-based recommendation tool 105may enable voice and/or text communication among users 110A through 110Cwhile they are interacting with one another in the story.

As another example, in certain embodiments, digital experience-basedrecommendation tool 105 may select pairs of users 110A and 110B and/orgroups of users to participate in the non-linear branching storytogether. For example, digital experience-based recommendation tool 105may select pairs of users 110A and 110B who were previously determinedby the tool to likely be compatible with one another to participate inthe story together. Digital experience-based recommendation tool 105 mayhave determined users 110A and 110B to likely be compatible based onshared choices these users made during a previous digital event or basedon personality attributes generated from profiles 135A and 135Bbelonging to users 110A and 110B. By encouraging users 110A and 110B toparticipate in the digital event together, digital experience-basedrecommendation tool 105 may enable users 110A and 110B to assess theircompatibility with one another before ever meeting in person. This maybe desirable, as sharing a digital experience with one another mayprovide more meaningful compatibility information to a pair of usersthan the information that may be gained through messages sent back andforth between the two users.

In embodiments in which digital experience-based recommendation tool 105introduces user 110B to user 110A at either the beginning of the digitalevent or at a point during the digital event, recommendation engine 160may present each of users 110A and 110B with a recommendation of theother user at the end of the event (or at a point in time during theevent) such that these users may choose to match with one another. Ifboth user 110A and user 110B choose to match with one another,recommendation engine 160 may allow user 110A and user 110B tocommunicate with one another outside of the digital event. However, ifeither of user 110A or user 110B chooses not to match with the otheruser, recommendation engine 160 may discard profile 135A from user110B's recommendations 175 and discard profile 135B from user 110A'srecommendations 175.

In certain embodiments, in addition to digital experience-basedrecommendation tool 105 selecting users 110 to participate in thedigital event together, groups of two or more users 110 may choose toparticipate in the digital event together. As an example, a pair ofusers 110A and 110B who have been recommended to one another based oninformation contained in their profiles 135 may choose to participate ina digital event to gain insight into their compatibility with oneanother. As another example, in certain embodiments, a group of users110A through 110C, who know each other, may choose to participate in thedigital event together. This disclosure contemplates that digital eventsin which groups of users may participate together include gamesconsisting of competing teams, in which each group of users is assignedto a team, as well as games where users may participate cooperatively.In certain embodiments consisting of groups of users participating inthe digital event together, recommendations 175 generated byrecommendation engine 160 may consist of other groups of users who madesimilar choices to the group of users 110A through 110C during theevent. Generating recommendations of groups rather than individuals maybe desirable as it may provide a greater number of individuals topotentially match with, given that groups of friends are often composedof individuals who are compatible with one another. Additionally,allowing groups of friends to participate with one another may increasethe users' enjoyment of the event, encouraging future participating inadditional digital events.

In certain embodiments, in addition to generating recommendations amongusers 110, recommendation engine 160 may use set of responses 170 storedin memory 145 for each user 110 to generate profile information for theuser. For example, in embodiments in which recommendation engine 160determines personality trait scores for each user 110 based on responses170, recommendation engine 160 may also store and/or display thesepersonality trait scores in profiles 135 assigned to users 110. This maybe desirable, as determining a user's personality traits based ondecisions he/she makes during a digital experience may lead to a moreaccurate representation of the user's personality than relying on theuser's own input. Additionally, users 110 may be more willing to provideprofile information by participating in a digital event than byanswering questions and/or filling in fields.

Recommendation engine 160 may be a software module stored in memory 145and executed by processor 140. An example algorithm for recommendationengine 160, used to determine recommendation 175 for first user 110A, isas follows: set a recommendation variable equal to 0; set arecommendation counter equal to 0; for each user 110 i!=user 110A:{compare responses 170 i received from user 110 i to responses 170Areceived from user 110A; determine the number of responses 110 i thatare the same as responses 110A; if the number of responses 110 i thatare the same as responses 110A is greater than the recommendationcounter value: {set the recommendation counter value equal to the numberof responses 110 i that are the same as responses 110A; set therecommendation variable equal to user 110 i}}; store the user stored inthe recommendation variable as a recommendation 175. The above algorithmmay be repeated for the remaining users to determine additionalrecommendations 175 for user 110A.

Processor 140 may be any electronic circuitry, including, but notlimited to microprocessors, application specific integrated circuits(ASIC), application specific instruction set processor (ASIP), and/orstate machines, that communicatively couples to memory 145 and interface150 and controls the operation of digital experience-basedrecommendation tool 105. Processor 140 may be 8-bit, 16-bit, 32-bit,64-bit or of any other suitable architecture. Processor 140 may includean arithmetic logic unit (ALU) for performing arithmetic and logicoperations, processor registers that supply operands to the ALU andstore the results of ALU operations, and a control unit that fetchesinstructions from memory and executes them by directing the coordinatedoperations of the ALU, registers and other components. Processor 140 mayinclude other hardware and software that operates to control and processinformation. Processor 140 executes software stored on memory to performany of the functions described herein. Processor 140 controls theoperation and administration of digital experience-based recommendationtool 105 by processing information received from network 120, device(s)115, interface 150, and memory 145. Processor 140 may be a programmablelogic device, a microcontroller, a microprocessor, any suitableprocessing device, or any suitable combination of the preceding.Processor 140 is not limited to a single processing device and mayencompass multiple processing devices.

Memory 145 may store, either permanently or temporarily, data,operational software, or other information for processor 140. Memory 145may include any one or a combination of volatile or non-volatile localor remote devices suitable for storing information. For example, memory145 may include random access memory (RAM), read only memory (ROM),magnetic storage devices, optical storage devices, or any other suitableinformation storage device or a combination of these devices. Thesoftware represents any suitable set of instructions, logic, or codeembodied in a computer-readable storage medium. For example, thesoftware may be embodied in memory 145, a disk, a CD, or a flash drive.In particular embodiments, the software may include an applicationexecutable by processor 140 to perform one or more of the functionsdescribed herein.

Interface 150 represents any suitable device operable to receiveinformation from network 120, transmit information through network 120,perform suitable processing of the information, communicate to otherdevices, or any combination of the preceding. For example, interface 150transmits media files of the set of media files 130 to devices 115. Asanother example, interface 150 receives responses 170 from devices 115.Interface 150 represents any port or connection, real or virtual,including any suitable hardware and/or software, including protocolconversion and data processing capabilities, to communicate through aLAN, WAN, or other communication systems that allows digitalexperience-based recommendation tool 105 to exchange information withdevices 115 and/or other components of system 100 via network 120.

In certain embodiments, interface 150 may customize media 130 prior totransmitting it to users 110. For example, in certain embodiments,interface 150 may customize media file 130A by using a profile photo ofuser 110A to add the user's face to media file 130A. For example, mediafile 130A may be a first-person point of view video that includes asequence in which user 110A looks into a mirror. Interface 150 may use aprofile photo of user 110A stored in profile 135A assigned to user 110A,to customize media file 130A by generating an image of user 110A todisplay in the mirror. As another example, in certain such embodiments,interface 150 may customize media file 130A for user 110A by placinginformation from the user's profile 135A into the options presented bymedia file 130A. For example, media file 130A may present user 110A witha choice between attending a sporting event at his/her alma matter orattending a sporting event at a rival school, based on educationinformation that user 110A has included in his/her profile 135A.Similarly, media file 130A may present user 110A with a choice to listento one of several songs, where the songs presented are songs that user110A has linked to his/her profile 135A. As another example, in certainembodiments, interface 150 may customize the options presented by media130 to user 110A, based on personality attributes of user 110A thatdigital experience-based recommendation tool 105 has previouslyassessed. For example, digital experience-based recommendation tool 105may determine that user 110A is extroverted, based on previous responses170A provided by user 110A. Accordingly, interface 150 may customizemedia 130 to include a greater percentage of options that are associatedwith extroverted personality types, rather than introverted personalitytypes. For example, rather than presenting user 110A with equal numbersof extroverted choices and introverted choices, when probing the user'sintroversion/extroversion, interface 150 may present user 110A withpredominantly extroverted choices (e.g., a mix of 80% extrovertedchoices and 20% introverted choices). This may be desirable to keep user110A interested in the digital event and to fine tune the user'sextroversion score. As a further example, in certain embodiments,interface 150 may customize media 130 to present certain options only toa portion of users 110. For example, interface 150 may add options tomedia 130 associated with exclusive branches in the non-linear branchingstory. These exclusive options may be available to users 110 who haveparticipated in at least a threshold number of previous digital events,and/or to users who have paid for access to exclusive media, or theopportunity to view and match with exclusive user profiles. For example,user 110A and 110B may be presented with an option to attend anexclusive concert by providing payment, while user 110C may not bepresented with this option and/or indicate it as an option only throughpayment. In this example, users 110A and 110B would be provided accessto exclusive matches with each other and others who pay to attend thevirtual exclusive concert, while user 110C would not be provided withsuch access.

In certain embodiments, users 110 may pay for other exclusive options toenhance their digital experience and add temporary benefits or extraabilities. For example, users 110 may boost one or more of theirdecisions to make them more prominent on their profile (e.g., highlightthat user 110A chose skydiving over staying at home in the digitalevent) and/or receive the ability to see other users who made the samedecision. As another example, users 110 may be able to revise a previousdecision by replaying or undoing the decision to select a differentoption. In certain embodiments, users 100 may provide digital giftsduring the digital event that may be presented to another user during orat the end of the event. For example, user 110A may select an option tobuy a virtual rose during the digital event and at the end may choose topresent that rose to user 110B. This may be desirable as a way for users110 to interact in a different manner, and to increase the likelihood ofmatches from the digital event (e.g., user 110A is able to make user110B know of their affection). As an additional example, in anexperience where users 110 are faced with an obstacle or puzzle (e.g.,escape room), users 110 could pay for a shortcut or clue to aid insolving the issue.

In certain embodiments, digital experience-based recommendation tool 105provides enhanced recommendations to users 110 participating in adigital event, by recommending users 110 to one another based on theirshared digital experiences during the event. Users participating in theevent navigate through a non-linear branching story transmitted by thetool to their devices 115 through media 130, by selecting among variousoptions presented by the media. Certain of these options may be designedto probe various aspects of the users' personalities, such that userswho select the same options are likely to have similar personalities toone another and may therefore be compatible in a dating context.Accordingly, at the end of the event, the tool generates recommendationsfor users based at least in part on the choices they made throughout theevent. In this manner, certain embodiments of the tool enablegeographically separated, compatible users to connect with one another.

Modifications, additions, or omissions may be made to the systemsdescribed herein without departing from the scope of the invention. Forexample, system 100 may include any number of users 110, devices 115,networks 120, and databases 125. The components may be integrated orseparated. Rather than transmitting the media files 130 to userssequentially, digital experience-based recommendation tool 105 maytransmit some or all media files 130A through 130N to the user at theoutset of an event or prior to an event so that the operations requiredto create the digital event may be completed by the user's device 115.Moreover, the operations may be performed by more, fewer, or othercomponents. Additionally, the operations may be performed using anysuitable logic comprising software, hardware, and/or other logic. Asused in this document, “each” refers to each member of a set or eachmember of a subset of a set.

FIG. 2 presents an example of a non-linear branching story presented tousers 110 by digital experience-based recommendation tool 105. Thisdisclosure contemplates that the story presented to users 110 mayconsist of any type of media. For example, the media may includepre-recorded videos, live-streamed video, images, text, audio, virtualor augmented reality simulations, or any other appropriate form ofmedia. FIG. 2 illustrates an example story from an embodiment of digitalexperience-based recommendation tool 105 in which each user 110 ispresented with the same media file 130A at the start of the story.However, this disclosure also contemplates that different users 110 mayeach receive different first media files 130A at the start of thedigital event. For example, in certain embodiments, first media file130A that user 110A receives may depend on last media file 130N thatuser 110A received in a previous digital event. This may be desirable toprovide continuity among different stories, which may help encourageusers 110 to participate in future digital events. Additionally, whileFIG. 2 illustrates an embodiment of digital experience-basedrecommendation tool 105 in which each media file 130A through 130Kprovides a choice between two options, this disclosure contemplates thatmedia files 130 may provide users 110 with a choice of any number ofdifferent options. Furthermore, these options may include options suchas “skip,” “no choice,” or any other option indicating that user 110does not have a preference among any of the presented options.

As can be seen in FIG. 2 , first media file 130A presents user 110 witha choice between first option 205A and second option 205B. First option205A is associated with second media file 130B while second option 205Bis associated with third media file 130C, such that if user 110 selectsfirst option 205A, digital experience-based recommendation tool 105transmits second media file 130B to the user, while if user 110 selectssecond option 205B, digital experience-based recommendation tool 105transmits third media file 130C to the user. Each of second media file130B and third media file 130C is configured to present its own options,illustrated in FIG. 2 as third option 205C and fourth option 205D forsecond media file 130B, and fifth option 205E and sixth option 205F forthird media file 130C.

This disclosure contemplates that the branching story presented bydigital experience-based recommendation tool 105 is a non-linearbranching story. FIG. 2 presents two examples of such non-linearity.First, as illustrated by fifth media file 130E, selecting optionspresented by different media files 130—here, fourth option 205D andfifth option 205E—may both cause digital experience-based recommendationtool 105 to transmit the same media file 130E to users 110 making theseselections. Accordingly, even though first user 110A and second user110B may have selected different options presented by first media file130A—for example, first user 110A may have selected first option 205Aand second user 110B may have selected second option 205B—they maynevertheless still be presented with the same ending media file—eighthmedia file 130H or ninth media file 130I—if first user 110A selectsfourth option 205D in response to second media file 130B and second user110B selects fifth option 205E in response to third media file 130C.

Fourth media file 130D presents another example of non-linearity in thebranching story illustrated by FIG. 2 . While fourth media file 130Dpresents two options (seventh option 205G and eighth option 205H), bothof these options lead to the same media file—seventh media file 130G.For example, seventh option 205G and eight option 205H may correspond toa choice between opening a door on the right or opening a door on theleft. As neither option may be particularly probative of a user'spersonality traits, both options may simply lead to the same result.

Due to the non-linear nature of the branching story, this disclosurecontemplates that the story may contain fewer than 2^(N) final mediafiles, where N corresponds to the number of decisions user 110 is askedto make while navigating through the story. As seen in FIG. 2 , ratherthan containing eight final media files, the story presented in FIG. 2contains only five—seventh media file 130G, eighth media file 130H,ninth media file 130I, tenth media file 130J, and eleventh media file130K. This may be desirable, to help ensure that a large number of users110 experience the same ending for the branching story, such thatrecommendations 175 among users 110 may be generated based in part onthe endings that users 110 experience.

FIG. 3 illustrates recommendation engine 160 of digital experience-basedrecommendation tool 105. As seen in FIG. 3 , in certain embodiments,recommendation engine 160 determines recommendations 175A through 175Nfor users 130A through 130N based on responses 170A through 170Nsubmitted by the users and profiles 135A through 135N belonging to theusers. However, this disclosure additionally contemplates that incertain embodiments, recommendations 175A through 175N may be determinedsolely from responses 170A through 170N, while in some embodiments,recommendations 175A through 175N may be determined from responses 170Athrough 170N in addition to any number of different factors, including,but not limited to profiles 135A through 135N.

For a given user 110A, recommendation 175A may include those users 110Bthrough 110N determined by recommendation engine 160 to likely becompatible with user 110A. This disclosure contemplates thatrecommendation engine 160 determines compatibility between users 110based at least in part on the choices made by users 110 (illustrated asresponses 170A through 170N) as they navigate through the non-linearbranching story presented during the digital event. For example, incertain embodiments, recommendation engine 160 determines that firstuser 110A may be compatible with second user 110B, based on the factthat both first user 110A and second user 110B made choices during thedigital event that led them to the same final media file 130N.

In certain embodiments, for each subject user 110A through 110N,recommendation engine 160 determines a ranked list of other users 110that are potentially compatible with the subject user, whererecommendation engine 160 ranks those users 110 in each list in partaccording to the number of choices they made that were the same as thechoices made by subject user 110A during the event. For example,recommendation engine 160 may determine a ranked list for first user110A containing second user 110B ranked higher than third user 110C,based on the fact that second user 110B made three choices that were thesame as choices made by first user 110A, while third user 110C only madeone choice that was the same as a choice made by first user 110A. Incertain such embodiments, digital experience-based recommendation tool105 may assign weights 305 to each set of options presented to users110, such that certain choices are weighed more heavily than others. Forexample, second user 110B may have made three choices that were the sameas choices made by first user 110A, where such choices included: (1)opening a door on the left rather than a door on the right; (2) playinga game of darts rather than a game of pool; and (3) traveling eastrather than traveling west. As these choices may not be highly probativeof a user's personality traits, digital experience-based recommendationtool 105 may assign small weights 350 to them. On the other hand, thirduser 110C may have made one choice that was the same as a choice made byfirst user 110A, where the choice consisted of a decision to go skydiving rather than to watch a movie. As this decision may be highlyprobative of a user's adventurousness, digital experience-basedrecommendation tool 105 may assign a large weight 305 to it.Accordingly, recommendation engine 160 may rank third user 110C aslikely more compatible than second user 110B based on the large weightassigned to the one decision in common between first user 110A and thirduser 110C, despite the fact that third user 110C and first user 110Aonly had this one decision in common, while second user 110B and firstuser 110A had three decisions in common.

In certain embodiments, recommendation engine 155 may assign a set ofscores to each user 110A through 110N, based on the decisions that theuser made during the digital event, and generate recommendations amongusers based on the similarity of their scores. The set of scores mayinclude scores covering a range of different personality categories. Forexample, the set of scores may include an extroversion score, anadventurousness score, a risk tolerance score, and a spontaneity score.In such embodiments, recommendation engine 160 may group each set ofoptions presented by media files 130A through 130N into one or morepersonality categories and assign a score to each option within a givencategory. For example, a set of options that includes a choice betweenstaying home or attending a party may be assigned to an extroversioncategory, with a score of −50 assigned to the decision to stay home anda score of +50 assigned to the decision to attend a party. Thisdisclosure contemplates that multiple decisions made by a user whileparticipating in a digital event may contribute to the same personalitycategory. For example, in addition to the choice between attending aparty or staying home, a decision between going backstage and meetingthe lead singer of a band or staying in the general audience of aconcert may also impact a user's extroversion score. Here, the decisionto go backstage may be assigned a score of +20, while a decision to stayin the general audience may be assigned a score of −10. Additionally,this disclosure contemplates that decisions contributing to a givenpersonality category need not occur in the same digital event. Forexample, during a first digital event, a user may choose to attend theparty rather than stay home, thereby increasing the user's extroversionscore. This user may also choose to go backstage and meet the leadsinger of the band rather than stay in the general audience of theconcert during a second digital event, thereby further increasing theuser's extroversion score.

Recommendation engine 160 may determine a set of scores for user 110A bydetermining the scores assigned to each of the options chosen by user110A and summing the scores assigned to each personality category. Forexample, recommendation engine 160 may determine the following sets ofscores for users 110A through 110C, where a positive score indicates thepresence of the given personality trait and a negative score indicatesthe presence of the opposite personality trait:

Extroversion Adventurousness Risk Tolerance Spontaneity User 110A 100200 50 −50 User 110B −20 −20 −100 −10 User 110C 50 300 50 0These scores indicate a higher probability that users 110A and 110C areextroverted, highly adventurous, and risk tolerant, in contrast tosecond user 110B who has a higher probability of being introverted,timid, and risk avoidant. Accordingly, based on a direct comparison ofthese sets of scores, recommendation engine 160 may determine that thirduser 110C is likely more compatible with first user 110A than withsecond user 110B. In certain embodiments, rather than directly comparingpersonality trait scores across users 110A through 110N, recommendationengine 160 may employ a machine-learning algorithm trained to generateranked lists of compatible users 110 based on attributes that includethe users' personality trait scores.

This disclosure contemplates that recommendation engine 160 may considerany number of factors, in addition to responses 170 received from users110, to determine recommendations 175A through 175N and rankings amongusers 110A through 110N. As an example, in embodiments in whichrecommendation engine 160 employs a machine-learning algorithm trainedto generate ranked lists of compatible users 110 based on attributesthat include the users' personality trait scores, the machine-learningalgorithm may operate on additional attributes obtained from profiles135A through 135N. In such embodiments, the personality trait scoresdetermined by tool 105 may be placed in a user's profile 135, such thata machine-learning algorithm configured to extract and operate onattributes obtained from profiles 135 may easily incorporate theadditional attributes associated with the personality trait scoresplaced into profiles 135. As another example, in certain embodiments,recommendation engine 160 may determine recommendations based oninformation contained in profiles 135A through 135N and then rank theserecommendations, or select a subset of these recommendations, based onthe similarity of the choices 170A through 170N made by the users duringthe digital event. As another example, in certain embodiments,recommendation engine 160 may consider the ages, genders, and locationsof users 110 in determining recommendations 175A through 175N. Forexample, recommendation engine 160 may provide user 110A withrecommendations 175A that correspond to users 110B through 110N thatfall within age, gender, and/or location ranges specified by user 110A.As another example, in certain embodiments in which recommendations 175Agenerated for user 110A consist of a ranked list of potentiallycompatible users, recommendation engine 160 may prioritize user 110B whohas previously viewed profile 135A belonging to user 135A, by increasingthe ranking of user 110B. This may be desirable as previous profileviews may indicate that user 110B has an interest in user 110A and maytherefore be likely to match with user 110A, when presented with arecommendation of user 110A. As a further example, in certainembodiments in which recommendations 175A generated for user 110Aconsist of a ranked list of compatible users, recommendation engine 160may prioritize user 110B based on the number of previous digital eventsuser 110B has participated in. For example, recommendation engine 160may increase the ranking of user 110B if user 110B is participating inhis/her first digital event. This may be desirable to help ensure thatusers 110 who frequently participate in digital events have theopportunity to match with new users, rather than continually receivingrecommendations of the same set of users.

FIG. 4 presents example stills of a media file 130 transmitted bydigital experience-based recommendation tool 105 to user device 115 anddisplayed on the screen of device 115, in certain embodiments in whichuser 110 has a threshold period of time during which to select response170 from the options presented by media file 130. First still 405Acorresponds to media file 130, consisting of a video displayed at timet, while second still 405B corresponds to the media file 130, consistingof a video displayed at time t+Δt, where Δt is less that the thresholdperiod of time. While FIG. 4 illustrates media 130 in the form ofvideos, this disclosure contemplates that the story presented during thedigital event may consist of any type of media. For example, the mediamay include pre-recorded videos, live-streamed video, images, text,audio, virtual or augmented reality simulations, or any otherappropriate form of media.

In this example, media file 130 displays user 110 plugging his/her phoneinto a surround sound system, and presents user 110 with a choicebetween a pair of songs to play on the sound system—first choice 425,consisting of Song A, and second choice 415, consisting of Song B. Asdescribed above, in certain embodiments, media file 130 may becustomizable, such that Song A and Song B are chosen from profile 135belonging to user 110. This may be desirable to maintain the user'sinterest in the digital event. In certain embodiments in which digitalexperience-based recommendation tool 105 may not have access to anyinformation about the musical preferences of user 110, Song A and Song Bmay be chosen from different musical genres, to gain insight into theuser's musical tastes.

While FIG. 4 illustrates media file 130 presenting a user with a pair ofoptions, this disclosure contemplates that media files 130 may presentusers 110 with a choice of any number of different options. Furthermore,these options may include options such as “skip,” “no choice,” or anyother option that may be selected by a user to indicate that the userdoes not have a preference of any of the presented options.

As indicated on the screen of device 115, illustrated in FIG. 4 , user110 can either select first option 425 (Song A), by gesturing on thescreen of his/her device 115 from left to right, or select second option415 (Song B), by gesturing on the screen of his/her device 115 fromright to left. If user 110 fails to choose between first option 425 andsecond option 415 within the threshold period of time, response analyzer155 of digital experience-based recommendation tool 105 may selectbetween first option 425 and second option 415, use the selected optionto navigate through the non-linear branching story to a new branch ofthe story, and transmit media file 130 associated with this new branchto device 115. This disclosure contemplates that response analyzer 155may select one of the options in any suitable manner. For example, incertain embodiments, response analyzer 155 may be configured to 1)randomly select one of the options from the set of possible options; 2)select a pre-determined option; 3) select the first option of the set ofpossible options; 4) select the most popular option of the set ofpossible options, as determined from responses 170 provided by otherusers; 5) select an option of the set of possible options based ondetermined or supplied personality traits of the user, e.g., anadventurous option from the set of possible options for user 110A, basedon a determination from previous responses 170 supplied by user 110Athat user 110A is adventurous, or an extroverted option from the set ofpossible options for user 110A, based on user 110A indicating thathe/she is extroverted in information (other than responses 170) suppliedby user 110A to generate his/her profile 135A; or 6) use any otherfactor to select among the available options.

In certain such embodiments, response analyzer 155 may store theselected option in memory 145 along with a weight of zero, indicating torecommendation engine 160 that this selected option should not be takeninto account in matching user 110 to other users. This may be desirable,as a selected option may provide limited to no information about theuser's personality traits.

In certain embodiments (and as indicated in FIG. 4 ), the time intervalduring which users 110 may select between first option 425 and secondoption 415 may be indicated by the length of diagonal bar 420,positioned on the screen of device 115 between first option 425 andsecond option 415. Here, diagonal bar 420A is longer than diagonal bar420B, indicating that user 110 has less time in second still 405B toselect between first option 425 and second option 415 than the user hadin first still 405A. Encouraging user 110A to select an option within abrief interval of time may be desirable to spur the user to act onhis/her instincts rather than overthinking the various options,potentially increasing the likelihood that the user's choice accuratelyreflects his/her personality traits.

Additionally, media files 130 may also provide an indication 410 of anumber of users participating in the digital event. In certainembodiments, indication 410 may correspond to the total number of usersparticipating in the digital event. In some embodiments, indication 410may correspond to the number of users navigating along the same path inthe non-linear branching story as user 110 and/or the number of userscurrently watching/receiving the same media file 130 as user 110. Incertain embodiments, indication 410 may correspond to the cumulativenumber of users who have navigated along the same path in the non-linearbranching story as user 110 and/or the number of users who havewatched/received the same media file 130 as user 110 over the entiretime over which users have been able to participate in the digitalevent. Displaying the number of users who are navigating or havenavigated along the same path as user 110 and/or the number of users whoare currently watching/receiving the same media file 130 or who havepreviously watched/received the same media file 130 as user 110 may bedesirable as it may provide user 110 with an indication of thepopularity of his/her choices. For example, if, after selecting firstoption 425, the number of other users 410 drops to one fifth itsprevious value, this information may indicate to user 110 that firstoption 425 is not a popular option among participants of the digitalevent.

This disclosure contemplates that media file 130, displayed in stills405A and 405B, may contain any number of additional features. Forexample, in certain embodiments, users 110 may customize media files 130that are presented to them by choosing from a number of badges and/orskins offered by digital experience-based recommendation tool 105.

FIGS. 5 through 7 present flowcharts illustrating details of theoperation of digital experience-based recommendation tool.

FIG. 5 presents a flowchart illustrating method 500 by which digitalexperience-based recommendation tool 105 transmits media files 130 tousers 110, receives responses 170 from the users 110, and uses responses170 to match users 110. FIG. 5 contemplates a digital event in whicheach set of options presented to user 110 throughout the event consistsof a pair of options. However, this disclosure contemplates that eachset of options may consist of any number of different options presentedto user 110.

In step 505, digital experience-based recommendation tool 105 usesinterface 150 to transmit first media file 130A to device 115A belongingto user 110A. This disclosure contemplates that each media file of theset of media 130 may present a branch of a non-linear branching story touser 110A in any suitable format. For example, in certain embodiments,media files 130A through 130N may provide user 110A with a first-personpoint of view video of the story. In some embodiments, media files 130Athrough 130N may provide user 110A with an augmented-reality experienceof the story, by accessing the external facing camera of device 115A anddisplaying computer-generated graphics on top of the real-worldsurroundings of user 110A. In certain embodiments, media files 130Athrough 130N may also consist of audio and/or text files. In furtherembodiments, media files 130A through 130N may correspond tocomputer-generated, 3D simulations, with which user 110A may interact byusing specific hardware, such as virtual reality headsets and/orsensors.

In step 510, first media file 130A presents a pair of options—a firstoption and a second option—to user 110A. This disclosure contemplatesthat media files 130A through 130N may present options to user 110A inany suitable fashion. For example, in certain embodiments, media files130A through 130N may present options to user 110A by displaying text onthe screen of the user's device 115A. In some embodiments, media files130A through 130N may present the options to user 110A by playing audiothrough the speaker system of the user's device 115A.

In step 515, digital experience-based recommendation tool 105 receives afirst selection from user 110A as response 170A. The first selectioncorresponds to the choice made by user 110A between the first option andthe second option. This disclosure contemplates that user 110A mayinteract with each of media files 130A through 130N in any suitablemanner to transmit his/her selection of a given option to digitalexperience-based recommendation tool 105 as response 170A. As anexample, in certain embodiments, user 110A may select one of the twooptions by gesturing on the screen of his/her device 115A in a specifieddirection. For example, user 110A may select the first option bygesturing on the screen of his/her device 115A from the right side ofthe screen to the left side of the screen or user 110A may select thesecond option by gesturing on the screen of his/her device 115A from theleft side of the screen to the right side of the screen. As anotherexample, in certain embodiments, user 110A may select between the firstoption and the second option by entering a value using a keypad ofdevice 115A, or a keypad displayed on the screen of device 115A. Forexample, user 110A may select the first option by entering “1” into thekeypad or the second option by entering “2” into the keypad. As afurther example, in certain embodiments, user 110A may select betweenthe first option and the second option by tapping the screen of device115A.

In step 520, digital experience-based recommendation tool 105 determineswhether user 110A selected the first option or the second option. Inthis example, the first option is assigned to second media file 130B,while the second option is assigned to third media file 130C.Accordingly, if, in step 520, digital experience-based recommendationtool 105 determines that user 110A selected the first option, then instep 525, digital experience-based recommendation tool 105 usesinterface 150 to transmit second media file 130B to user 110A. In step530, second media file 130B then presents its own pair of options touser 110A.

If in step 520 digital experience-based recommendation tool 105determines that user 110A selected the second option, then in step 535,digital experience-based recommendation tool 105 uses interface 150 totransmit third media file 130C to user 110A. In step 540, third mediafile 130C presents its pair of options to user 110A.

Regardless of whether user 110A selected the first option and waspresented with second media file 130B or selected the second option andwas presented with third media file 130C, in step 545 digitalexperience-based recommendation tool 105 receives a second selectionfrom user 110A. This second selection consists of either an optionchosen from the set of options presented by second media file 130B or anoption chosen from the set of options presented by third media file130C.

In step 550, digital experience-based recommendation tool 105 uses thefirst selection and the second selection received from user 110A toidentify second user 110B as potentially compatible with user 110A. Forexample, in certain embodiments, digital experience-based recommendationtool 105 identifies second user 110B as potentially compatible with user110A by directly comparing the first selection and the second selectionreceived from user 110A to the selections received by second user 110B.In certain embodiments, digital experience-based recommendation tool 105identifies second user 110B as potentially compatible with user 110A byfirst assigning weights to the first selection and the second selectionreceived from user 110A, along with the selections receive by seconduser 110B, and comparing the weighted selections. This may be desirable,as certain decisions may be more probative of a user's personalitytraits than other decisions. For example, a decision to go sky divingrather than watch a movie may be more probative of a user's personalitytraits than a decision to open a left door rather than a right door.

In certain embodiments, rather than determining that user 110B ispotentially compatible with user 110A by comparing the first selectionand the second selection to the selections made by second user 110B,digital experience-based recommendation tool 105 may assign scores tothe first selection, the second selection, and the selections made bysecond user 110B, and determine compatibility between user 110A andsecond user 110B based on the similarity of their scores. For example,the set of scores may include an extroversion score, an adventurousnessscore, a risk tolerance score, and a spontaneity score. In suchembodiments, recommendation engine 160 may group each set of optionspresented by media files 130 into one or more personality categories andassign a score to each option within a given category. For example, aset of options that includes a choice between staying home or attendinga party may be assigned to an extroversion category, with a score of −50assigned to the decision to stay home and a score of +50 assigned to thedecision to attend a party. This disclosure contemplates that multipledecisions made by a user while participating in a digital event maycontribute to the same personality category. For example, in addition tothe choice between attending a party or staying home, a decision betweengoing backstage and meeting the lead singer of a band or staying in thegeneral audience of a concert may also impact a user's extroversionscore. Here, the decision to go backstage may be assigned a score of+20, while a decision to stay in the general audience may be assigned ascore of −10. Additionally, this disclosure contemplates that decisionscontributing to a given personality category need not occur in the samedigital event. For example, during a first digital event, a user maychoose to attend the party rather than stay home, thereby increasing theuser's extroversion score. This user may also choose to go backstage andmeet the lead singer of the band rather than stay in the generalaudience of the concert during a second digital event, thereby furtherincreasing the user's extroversion score.

Recommendation engine 160 may determine a set of scores for user 110A bydetermining the scores assigned to each of the selections made by user110A and summing the scores assigned to each personality category.Similarly, recommendation engine 160 may determine a set of scores forsecond user 110B by determining the scores assigned to each of theselections made by second user 110B and summing the scores assigned toeach personality category. In certain embodiments, recommendation engine160 may then determine the degree of compatibility between user 110A andsecond user 110B based on the similarity of their scores. In certainembodiments, rather than directly comparing the personality trait scoresof user 110A and second user 110B, recommendation engine 160 may employa machine-learning algorithm trained to generate ranked lists ofcompatible users 110 based on attributes that include the users'personality trait scores.

This disclosure contemplates that recommendation engine 160 may considerany number of factors, in addition to the selections received from users110, to determine that second user 110B is compatible with user 110A. Asan example, in embodiments in which recommendation engine 160 employs amachine-learning algorithm trained to generate ranked lists ofcompatible users 110, based on attributes that include the users'personality trait scores, the machine-learning algorithm may operate onadditional attributes obtained from profile 135A, belonging to user110A, and profile 135B, belonging to second user 110B. In suchembodiments, the personality trait scores determined by tool 105 foruser 110A may be placed in profile 135A and the personality trait scoresdetermined by tool 105 for user 110B may be placed in profile 135B, suchthat a machine-learning algorithm configured to extract and operate onattributes obtained from profiles 135 may easily incorporate theadditional attributes associated with the personality trait scoresplaced into profiles 135. As another example, in certain embodiments,recommendation engine 160 may consider the ages, genders, and locationsof users 110 in determining that second user 110B is compatible withuser 110A. For example, recommendation engine 160 may determine thatsecond user 110B is compatible with user 110A, based in part on the factthat second user 110B falls within the age, gender, and/or locationranges specified by user 110A.

This disclosure contemplates that digital experience-basedrecommendation tool 105 may determine that second user 110B is likelycompatible with user 110A at any point in time. For example, digitalexperience-based recommendation tool 105 may determine that second user110B is likely compatible with user 110A: (1) after user 110A hasfinished the digital event, but before user 110B has finished thedigital event; (2) after user 110A has finished the digital event andafter user 110B has finished the digital event, where user 110Bparticipated in the digital event at a later time than user 110A; (3)while user 110A is participating in the digital event and after user110B has finished the digital event; (4) or at any other time.

After determining that second user 110B is likely compatible with user110A, digital experience-based recommendation tool 105 transmits profile135B assigned to second user 110B to user 110A, in step 555. In certainembodiments, rather than transmitting profile 135B, containing a profilepicture of user 110B, digital experience-based recommendation tool 105may transmit an avatar generated by user 110B to representhimself/herself. In such embodiments, user 110A may be able to see aprofile picture (rather than an avatar) of user 110B only if both user110A and user 110B choose to match with each other. The use of avatarsmay be desirable for users 110 wishing to maintain anonymity whileparticipating in the digital event. The use of avatars may also bedesirable to help encourage users 110 to contact potentially compatibleusers based on the personality traits of the potentially compatibleusers, rather than their personal appearances, potentially leading tomore meaningful experiences in real life.

Modifications, additions, or omissions may be made to method 500depicted in FIG. 5 . Method 500 may include more, fewer, or other steps.For example, steps may be performed in parallel or in any suitableorder. While discussed as digital experience-based recommendation tool105 (or components thereof) performing the steps, any suitable componentof system 100, such as device(s) 115 for example, may perform one ormore steps of the method.

FIGS. 6A and 6B presents a flowchart further illustrating method 600 bywhich digital experience-based recommendation tool 105 may match users110, with a focus on the branching nature of the story transmitted bythe tool.

In step 605, digital experience-based recommendation tool 105 usesinterface 150 to transmit first media file 130A to first user 110A,second user 110B, and third user 110C. In step 610, first media file130A presents a pair of options—a first option and a second option—toeach of first user 110A, second user 110B, and third user 110C. In step615, digital experience-based recommendation tool 105 receivesselections of one of the options of the pair of options from each offirst user 110A, second user 110B, and third user 110C.

This disclosure contemplates that digital experience-basedrecommendation tool 105 may transmit media files 130 to each of users110A through 110C concurrently, or at different times. For example, thedigital event may be scheduled from 6:00 PM to 12:00 PM, such that auser 110 may choose to begin participating in the event at any point intime between 6:00 PM and 12:00 PM. Accordingly, first user 110A maychoose to begin participating in the event at 6:00 PM, such that tool105 transmits first media file 130A to first user 110A at 6:00 PM;second user 110B may choose to begin participating in the event at 6:45PM, such that tool 105 transmits first media file 130A to second user110B at 6:45 PM; and third user 110C may choose to begin participatingin the event at 8:00 PM, such that tool 105 transmits first media file130A to third user 110C at 8:00 PM. Similarly, this disclosurecontemplates that digital experience-based recommendation tool 105 mayreceive selections of one of the options from each of first user 110A,second user 110B, and third user 110C either concurrently, or atdifferent times.

In step 620, digital experience-based recommendation tool 105 determineswhether first user 110A selected the first option. Similarly, in step625, digital experience-based recommendation tool 105 determines whethersecond user 110B selected the first option, and, in step 630, digitalexperience-based recommendation tool 105 determines whether third user110C selected the first option. If any of first user 110A, second user110B, and third user 110C selected the first option, then in step 635,digital experience-based recommendation tool 105 uses interface 150 totransmit second media file 130B to those users who selected the firstoption. In step 640, second media file 130B presents another pair ofoptions—a third option and a fourth option—to those users who selectedthe first option.

If any of first user 110A, second user 110B, and third user 110Cselected the second option, in step 645, digital experience-basedrecommendation tool 105 uses interface 150 to transmit third media file130C to those users who selected the second option. In step 650, thirdmedia file 130C presents its own pair of options—a fifth option and asixth option—to those users who selected the second option.

Regardless of which of users 110A, 110B, and 110C selected the firstoption or the second option, in step 655, digital experience-basedrecommendation tool 105 receives a fourth selection from first user110A, a fifth selection from user 110B, and a sixth selection from user110C. Again, this disclosure contemplates that the fourth, fifth, andsixth selections may be received concurrently, or at different times.The fourth, fifth, and sixth selections each consist of either an optionchosen from the set of options presented by second media file 130B or anoption chosen from the set of options presented by third media file130C.

In step 660, digital experience-based recommendation tool 105 determinesa first score, based on the selections made by first user 110A andsecond user 110B—namely, the first selection, the fourth selection, thesecond selection, and the fifth selection—between first user 110A andsecond user 110B. Similarly, in step 665, digital experience-basedrecommendation tool 105 determines a second score, based on theselections made by first user 110A and third user 110B—namely, the firstselection, the fourth selection, the third selection, and the sixthselection—between first user 110A and third user 110C. In step 670,digital experience-based recommendation tool 105 compares the firstscore and the second score. If, in step 670, digital experience-basedrecommendation tool 105 determines that the first score is greater thanthe second score, this indicates that second user 110B is likely morecompatible with first user 110A. Accordingly, in step 675, digitalexperience-based recommendation tool 105 transmits profile 135Bbelonging to second user 110B to first user 110A. On the other hand, if,in step 670, digital experience-based recommendation tool 105 determinesthat the second score is greater than the first score, indicating thatthird user 110C is more compatible with first user 110A, then in step680, digital experience-based recommendation tool 105 transmits profile135C belonging to third user 110C to first user 110A.

This disclosure contemplates that digital experience-basedrecommendation tool 105 may determine that second user 110B or thirduser 110C is likely compatible with user 110A at any point in time. Forexample, digital experience-based recommendation tool 105 may determinethat second user 110B or third user 110C is likely compatible with user110A: (1) after user 110A has finished the digital event, but beforeusers 110B and 110C have finished the digital event; (2) after user 110Ahas finished the digital event and after users 110B and 110C havefinished the digital event, where one or both of users 110B and 110Cparticipated in the digital event at a later time than user 110A; (3)while user 110A is participating in the digital event and after users110B and 110C have finished the digital event; (4) or at any other time.

Modifications, additions, or omissions may be made to method 600depicted in FIGS. 6A and 6B. Method 600 may include more, fewer, orother steps. For example, steps may be performed in parallel or in anysuitable order. While discussed as digital experience-basedrecommendation tool 105 (or components thereof) performing the steps,any suitable component of system 100, such as device(s) 115 for example,may perform one or more steps of the method.

FIG. 7 presents a flowchart illustrating the behavior of digitalexperience-based recommendation tool 105 in embodiments in which user110 may only submit response 170 to digital experience-basedrecommendation tool 105 within a threshold time period.

In step 705, digital experience-based recommendation tool 105 transmitsfirst media file 130A to user 110A. In step 710, first media file 130Apresents a first option and a second option to user 110A. In step 715,digital experience-based recommendation tool 105 determines whether user110A submitted a selection of the first option or the second optionwithin the threshold time period. If digital experience-basedrecommendation tool 105 determines that user 110A did submit a selectionwithin the threshold time period, then, in step 720, the tool receivesthis selection as a first selection from user 110A. If digitalexperience-based recommendation tool 105 determines that user 110A didnot submit a selection within the threshold time period, then, in step725, the tool selects a first selection for user 110A from the firstoption and the second option and assigns a weight of zero to this firstselection, indicating that this selected option should not be taken intoaccount in matching user 110A to other users. This disclosurecontemplates that response analyzer 155 may select one of the options inany suitable manner. For example, in certain embodiments, responseanalyzer 155 may be configured to 1) randomly select one of the optionsfrom the set of possible options; 2) select a pre-determined option; 3)select the first option of the set of possible options; 4) select themost popular option of the set of possible options, as determined fromresponses 170 provided by other users; 4) select an option of the set ofpossible options based on determined or supplied personality traits ofthe user, e.g., an adventurous option from the set of possible optionsfor user 110A, based on a determination from previous responses 170supplied by user 110A that user 110A is adventurous, or an extrovertedoption from the set of possible options for user 110A, based on user110A indicating that he/she is extroverted in information (other thanresponses 170) supplied by user 110A to generate his/her profile 135A;or 6) use any other factor to select among the available options.Selecting an option for the user if user 110A does not submit aselection within the threshold time period may be desirable as it mayencourage user 110A to act on his/her instincts rather than overthinkingthe various options, potentially increasing the likelihood that theuser's choice accurately reflects his/her personality traits.

In step 730, digital experience-based recommendation tool 105 determineswhether the first selection is the first option. If digitalexperience-based recommendation tool 105 determines that the firstselection is the first option, then, in step 735, the tool transmitssecond media file 130B to user 110A. Second media file 130B thenpresents another pair of options—a third option and a fourth option—touser 110A, in step 740. On the other hand, if, in step 730, digitalexperience-based recommendation tool 105 determines that the firstselection is not the first option, then in step 745, the tool transmitsthird media file 130C to user 110A. Third media file 130C then presentsits own set of options—a fifth option and a sixth option—to user 110, instep 750.

Regardless of whether the first selection was determined to be the firstoption or the second option in step 730, in step 755 digitalexperience-based recommendation tool 105 receives a second selectionfrom user 110A. In step 760, digital experience-based recommendationtool 105 determines whether a weight of zero is assigned to the firstselection. If a weight of zero is assigned to the first selection, then,in step 765, digital experience-based recommendation tool 105 uses thesecond selection to identify third user 110C as likely compatible withfirst user 110A (i.e., digital experience-based recommendation tool 105does not consider the selection in determining the degree ofcompatibility of other users with user 110A). Ignoring any optionsselected by tool 105 rather than by user 110A in the compatibilitydetermination may be desirable, as a selected option may provide limitedto no information about the user's personality traits.

On the other hand, if a weight of zero is not assigned to the firstselection, then, in step 770, digital experience-based recommendationtool 105 uses the first selection and the second selection to identifysecond user 110B as likely compatible with first user 110A. Finally, instep 775, digital experience-based recommendation tool 105 transmitsprofile 135 of the compatible user (either second user 110B or thirduser 110C) to user 110A. This disclosure contemplates that digitalexperience-based recommendation tool 105 may transmit profile 135 touser 110A at any time during and/or after the digital event.

Modifications, additions, or omissions may be made to method 700depicted in FIG. 7 . Method 700 may include more, fewer, or other steps.For example, steps may be performed in parallel or in any suitableorder. While discussed as digital experience-based recommendation tool105 (or components thereof) performing the steps, any suitable componentof system 100, such as device(s) 115 for example, may perform one ormore steps of the method.

Although the present disclosure includes several embodiments, a myriadof changes, variations, alterations, transformations, and modificationsmay be suggested to one skilled in the art, and it is intended that thepresent disclosure encompass such changes, variations, alterations,transformations, and modifications as falling within the scope of theappended claims.

What is claimed is:
 1. A system, comprising: a processor configured to:determine whether a first user is within a time interval specified for astory for a digital event; in response to determining that the firstuser in within the time interval specified for the digital event, causeto transmit a first media file to a device of the first user; aninterface communicatively coupled with the processor, and configured to:transmit the first media file to the device of the first user, the firstmedia file configured to present a first choice between a first set ofat least two options related to the story for the digital event; andreceive a first selection in response to the first choice, wherein eachoption of the first set of at least two options is assigned with arespective score related to a first personality trait category; and theprocessor further configured to: in response to receiving the firstselection from the first user: determine a first score of the firstpersonality trait of the first user based in part on the firstselection; determine a second media file based on the first selection;cause to transmit the second media file to the device of the first user,the second media file configured to present a second choice between asecond set of at least two options related to the story for the digitalevent; receive a second selection in response to the second choice,wherein each option of the second set of at least two options isassigned with a respective score related to a second personality traitcategory; determine a second score of the second personality trait ofthe first user based in part on the second selection; determine, byimplementing a machine learning algorithm and based in part on the firstselection and the second selection, the second selection, the firstscore, and the second score, a second user; and cause to displayinformation about the second user to the first user.
 2. The system ofclaim 1, wherein: a first weight is assigned to the first choice; asecond weight is assigned to the second choice; and determining thesecond user is based in part on the first weight and the second weight.3. The system of claim 1 wherein: the interface is further configuredto: transmit the first media file to a device of a third user; receivefrom the third user a third selection in response to the first choice,the third selection different from the first selection; and theprocessor is further configured to, in response to receiving the thirdselection from the third user: determine a third media file based on thethird selection; cause to transmit the third media file to the device ofthe third user, the third media file configured to present a thirdchoice between at least two options; receive a fourth selection inresponse to the third choice; determine, based in part on the thirdselection and the fourth selection, a fourth user; and cause to displayinformation about the fourth user to the third user.
 4. The system ofclaim 1, wherein the interface is further configured to receive anindication from the first user to participate in the digital event. 5.The system of claim 1, wherein the processor is further configured to:determine an attribute based at least in part on the first selection;and add the attribute to a profile of the first user.
 6. The system ofclaim 1, wherein the processor is further configured to, in response toreceiving the first selection and the second selection, add the firstselection to a profile of the first user, wherein the first selection isvisible to other users.
 7. A non-transitory computer-readable mediumencoded with logic, the logic configured, when executed, to: determinewhether a first user is within a time interval specified for a story fora digital event; in response to determining that the first user inwithin the time interval specified for the digital event, cause totransmit a first media file to a device of the first user; transmit thefirst media file to the device of the first user, the first media fileconfigured to present a first choice between a first set of at least twooptions related to the story for the digital event; and receive a firstselection in response to the first choice, wherein each option of thefirst set of at least two options is assigned with a respective scorerelated to a first personality trait category; in response to receivingthe first selection from the first user: determine a first score of thefirst personality trait of the first user based in part on the firstselection; determine a second media file based on the first selection;transmit the second media file to the device of the first user, thesecond media file configured to present a second choice between a secondset of at least two options related to the story for the digital event;receive a second selection in response to the second choice, whereineach option of the second set of at least two options is assigned with arespective score related to a second personality trait category;determine a second score of the second personality trait of the firstuser based in part on the second selection; determine, by implementing amachine learning algorithm and based in part on the first selection andthe second selection, the second selection, the first score, and thesecond score, a second user; and display information about the seconduser to the first user.
 8. The non-transitory computer-readable mediumof claim 7, wherein: a first weight is assigned to the first choice; asecond weight is assigned to the second choice; and determining thesecond user is based in part on the first weight and the second weight.9. The non-transitory computer-readable medium of claim 7, wherein thelogic is further configured to: transmit the first media file to adevice of a third user; receive from the third user a third selection inresponse to the first choice, the third selection different from thefirst selection; in response to receiving the third selection from thethird user: determine a third media file based on the third selection;transmit the third media file to the device of the third user, the thirdmedia file configured to present a third choice between at least twooptions; receive a fourth selection in response to the third choice;determine, based in part on the third selection and the fourthselection, a fourth user; and display information about the fourth userto the third user.
 10. The non-transitory computer-readable medium ofclaim 7, wherein the logic is further configured to receive anindication for a first user to participate in the digital event.
 11. Thenon-transitory computer-readable medium of claim 7, wherein the logic isfurther configured to: determine an attribute based at least in part onthe first selection; and add the attribute to a profile of the firstuser.
 12. The non-transitory computer-readable medium of claim 7,wherein the logic is further configured to, in response to receiving thefirst selection and the second selection, add the first selection to aprofile of the first user, wherein the first selection is visible toother users.
 13. A system, comprising: a processor configured to:determine whether a first user is within a time interval specified for astory for a digital event; in response to determining that the firstuser in within the time interval specified for the digital event, causeto transmit a first media file to a device of the first user; aninterface communicatively coupled with the processor, and configured to:transmit the first media file to the device of the first user, the firstmedia file configured to present a first choice between a first set ofat least two options related to the story for the digital event; andreceive a first selection in response to the first choice, wherein eachoption of the first set of at least two options is assi₂ned with arespective score related to a first personality trait category; and theprocessor further configured to: in response to receiving the firstselection from the first user: determine a first score of the firstpersonality trait of the first user based in part on the firstselection; determine a second media file based on the first selection;cause to transmit the second media file to the device of the first user,the second media file configured to present a second choice between asecond set of at least two options related to the story for the digitalevent; receive a second selection in response to the second choice,wherein each option of the second set of at least two options isassi2ned with a respective score related to a second personality traitcategory; determine a second score of the second personality trait ofthe first user based in part on the second selection; determine, byimplementing a machine learning algorithm and based in part on the firstselection and the second selection, the second selection, the firstscore, and the second score, a second user; and add the attribute to aprofile of the first user.
 14. The system of claim 13, wherein: a firstweight is assigned to the first choice; a second weight is assigned tothe second choice; and determining the attribute is based in part on thefirst weight and the second weight.
 15. The system of claim 13 whereinthe interface is further configured to display the profile of the firstuser to a second user, and wherein the attribute is visible to thesecond user.
 16. The system of claim 13, wherein the interface isfurther configured to receive an indication from the first user toparticipate in the digital event.
 17. The system of claim 13, whereinthe processor is further configured to, in response to receiving thefirst selection and the second selection, add the first selection to aprofile of the first user, wherein the first selection is visible toother users.